1. Field of the Invention
The present invention relates to an agent collaboration apparatus and an agent collaboration method for providing agent collaboration service among resources such as agents on a network, and a computer-readable recording medium storing an agent collaboration program. Further, the present invention relates to a virtual communication channel on a network that is dynamically generated among agents on demand, and a virtual private community generated by the virtual communication channel.
2. Description of the Related Art
In recent years, a computer network has advanced, and information communication service is provided among computer resources such as multiagents distributed over a network. In the prior art, as a method for connecting communication entities on the network through a communication channel, there are a peer to peer communication method and a multicast method. According to the peer to peer communication method, a communication entity that is to transmit information specifies a communication entity that is to receive the information, and individually transmits information. According to the multicast method, a communication entity that is to transmit information distributes the information to all the communication entities on the network without specifying a communication entity that is to receive the information.
The peer to peer communication method can also provide service such as broadcast communication from one communication entity to plural communication entities, using a mailing list or the like. However, in terms of relationship between the communication entity that is to transmit information and the communication entity that is to receive information, this merely corresponds to that information is individually distributed by specifying a communication partner. This is because one-to-one communication, in which the address of each communication partner is specified, is conducted in a parallel manner.
As the multicast method for connecting communication entities, CORBA Event service (CORBA: The Common Object Request Broker Architecture and Specification), IP-Multicast, Internet Relay Chat (IRC) and the like are known. These communication services control communication among servers. In order to organize agent collaboration service involving servers like this, it is required to connect and manage servers with a predetermined protocol, and implemented systems on each server should also be tuned according to the contents of agent collaboration service.
The Event service requires that a communication server should actively participate in a communication network, in which desired information is exchanged, through a predetermined procedure. The contents of agent collaboration service are focused on the notification of a system error, so that the service regarding error notification is implemented. The Event service has a constraint that a server receives a message, creates a data receiving object, and registers it to a particular topic.
The IP-Multicast also requires that a communication server should actively participate in a communication network, in which desired information is exchanged, through a predetermined procedure. It is a constraint that the address of a communication partner to which information is multi-cast should be previously registered.
The IRC is featured in that a communication server should also actively participate in a communication network, in which desired information is exchanged, through a predetermined procedure. And the contents of agent collaboration service are focused on text communication between users. The IRC has a constraint that communication should follow the IRC protocol.
In the above-mentioned conventional peer to peer communication method, it is required to previously register the addresses of all the distribution targets when information is communicated among resources such as multiagents on the network by using a mailing list. This means that an agent (or a user) distributing information must specify all the distribution targets explicitly in distribution of information. However, in some cases, an information distributor cannot always specify the targets that receive information explicitly. And it will be bothersome to manage a number of distribution targets. Thus, it is very difficult to distribute information to a number of widely distributed partners, and this means lack of scalability. Further, an agent collaboration system does not mediate the communication, so that an agent transmitting information is required to be responsible for feasibility of distribution. As a result, the burden of each agent will increase.
The above-mentioned conventional Multicast method, which connects communication entities to each other, have problems as follows.
First, the distribution efficiency of a network is decreased. According to the conventional Multicast method, information is distributed to the entire network without specifying a receiver, and all the agents on the network will receive the information. In this case, every information is also transmitted to an agent that does not require the information. This increases the amount of data flowing on the network, and increases the processing load for received data by the agent.
Second, security is decreased. According to the conventional Multicast method, information is distributed to the entire network without specifying a receiver as described above, and all the agents will receive the information on the network. Therefore, the information is transmitted to those who should not receive it; thus, leakage of information cannot be prevented. The arrival of information is not guaranteed because of impossibility of routing control.
Third, it is difficult to dynamically reconfigure the fixed system configuration. With the conventional Multicast system, agent collaboration is mainly conducted by the server, which is configured according to its role and selected depending upon the contents of information to be brokered and the brokering process; so it is hard to reconfigure the once generated system. Further, in order to conduct particular service or to solve a particular problem by exchanging information among servers and agents, it is required that information should be shared among servers or agents. In order for information to be shared among servers or agents, a communication channel for exchanging information is required, and it is required for the individual server or agent to implement a program for exchanging information among servers or agents.